The digital revolution has come to television. With the advent of digitally-encoded television, simple analog television (TV) receivers have been superseded by digital receivers capable of receiving and demodulating electrical signals, then extracting and decoding the compressed video and audio data streams mandated by the Motion Picture Experts Group (MPEG) encoding standards that form the basis for the Advanced Television Systems Committee digital television broadcast standard in the United States. These integrated receiver/decoder (IRD) devices contain analog and digital processing circuitry that is controlled by a central processing unit (CPU). IRDs also contain static and dynamic memory stores, interfaces, and a full complement of features that serve to enable a broad range of computational processing, including the execution of resident or downloaded applications software. When executing such applications, the IRD can generate graphics content that is overlaid onto the video content for display on an external television screen. Newer televisions incorporate the functions of the IRD, making them useful computation platforms capable of executing downloaded applications. More sophisticated IRDs may incorporate disc drive storage subsystems. These personal video recorders (PVRs) are capable of storing and playing back audio/video content.
A parallel body of work has aimed at developing standardized software execution environments that can enable the widespread deployment of interactive applications within the television broadcast infrastructure. This work has been complicated in the past by the wide variety of hardware and software deployed in IRDs, particularly set-top boxes (STBs) developed for the decoding and presentation of signals in cable TV distribution systems. The effort to develop a common Multimedia Home Platform (MHP) for consumer electronic devices led to the development of a Java-based standard for interactivity in the cable television realm, the Open Cable Application Platform (OCAP) now called tru2way. More recently, a separate standardization effort has produced the Enhanced Television Binary Interchange Format (ETV-BIF) standard for less-capable cable platforms.
Because of limitations in memory size and processor power, the operating systems deployed in many IRDs afford few of the security features that are common in more powerful networked computer systems. Therefore, the potential exists for any application that executes on an IRD to negatively impact the operation of the IRD, for example by overwriting system memory or modifying hardware registers. Accordingly, security efforts in the television broadcast environment have focused on validating the security of individual applications that are supplied to IRDs. Network operators commonly require certification of every application that is broadcast on their network, to minimize the chances that an application will cause an IRD on the network to malfunction, which might necessitate a costly technical service call to remedy the problem.
Because of the magnitude of these security concerns, the application certification process is often lengthy and costly to undertake. The process is significantly complicated by the range of hardware and software employed in the various IRDs that might be deployed in a single network, which requires substantial expertise during the execution and testing process. The certification hurdle raises the cost for preparing an application for broadcast, and limits the number of applications that receive certification and enter the broadcast stream.
The certification hurdle is a direct impediment to widespread use of interactivity in television broadcasting, particularly for interactive advertising. For interactive advertising to make economic sense in broad deployment, the money and time investments in getting an application to air must be as small as possible. Interactivity cannot be limited to those few high-profile, high-budget advertisements prepared for showcase events like the Super Bowl or the Olympics, but must be made affordable in the context of 30-second advertisements played with more typical programming content.
To extend the potential audience for an interactive television application, a developer may desire that the interactive television application be deployed to satellite, cable and IPTV distribution networks. Commonly in this case, a separate version of the interactive television application is developed for each target platform, where the separate versions of the application may be based on a common design architecture and behavioral model, but are realized using source code in disparate languages processed through disparate compilers to generate incompatible executable representations. In such cases, each distinct version of the application must undergo certification on the corresponding target platform through a distinct certification procedure, adding to the cost and duration of the certification process for the multi-platform deployment.
Methods are known in the prior art for authoring an application in one environment or in one paradigm and converting or compiling the application for execution on multiple different target platforms, even though the platforms may not support a common source code language or execution environment. For example, Lindsey describes in U.S. Pat. Nos. 5,875,331 and 6,877,155 a system and method for authoring an application as an objected oriented model that retains the function and interrelationships defined for the application, then using multiple object oriented converters to generate source code for the application in multiple desired target languages. Similarly, Bender describes in U.S. Patent Application 20050155016 a method and apparatus that encapsulates a variety of different code generation technologies within a common interface, allowing a single application model to generate executable applications for a variety of runtime environments. Such methods from the prior art may be used to create a multi-platform application template that is suitable for generating source code for each of multiple execution platforms, even though the source code or compiled executable application for any two of the multiple platforms may be incompatible. While such systems and methods may simplify the process of authoring an application destined for multiple platforms, they do not eliminate the necessity for platform-specific certification.
What is required is an application development paradigm that enables a process for creating interactive television applications that can be distributed to multiple distinct execution environments and that can receive certification for broadcast with minimal time and cost.